package model;

import java.util.Observable;

import utilitaire.Adresse;
import utilitaire.Date;

public class Personne extends Observable{
	
	private String nom;
	private String prenom;
	private Adresse adresse;
	private String mail;
	private Date dateDeNaissance;
	private String motDePasse ;
	protected String identifiant;
	protected String identifiantAgence;
	
	
	public Personne() {
		super();
		nom="";
		prenom="";
		adresse=new Adresse();
		mail = "";
		dateDeNaissance = new Date();
		motDePasse = "" ;
	}
	
	public Personne(String n, String p, String num, String typeV, String nomV, String code, String v,String pa, String ma, int an, int m, int jo, String mdp,String id,String idAgence) {
		super();
		
		nom = n ;
		prenom = p ;
		adresse = new Adresse(num,typeV,nomV,code,v,pa) ;
		mail = ma ;
		dateDeNaissance = new Date(an,m,jo) ;
		motDePasse = mdp ;
		identifiant = id;
		identifiantAgence = idAgence;
		
		
	}
	
	@Override
	public boolean equals(Object o){
		if(!(o instanceof Personne)) return false;
		return ((Personne) o).identifiant==identifiant;
	}
	/**
	 * @param nom the nom to set
	 */
	public void setNom(String nom) {
		this.nom = nom;
		
	}
	/**
	 * @return the nom
	 */
	public String getNom() {
		return nom;
		
	}
	/**
	 * @param prenom the prenom to set
	 */
	public void setPrenom(String prenom) {
		this.prenom = prenom;
		
		
	}
	/**
	 * @return the prenom
	 */
	public String getPrenom() {
		return prenom;
	}
	/**
	 * @param adresse the adresse to set
	 */
	public void setAdresse(Adresse adresse) {
		this.adresse = adresse;
		
	}
	/**
	 * @return the adresse
	 */
	public Adresse getAdresse() {
		return adresse;
	}
	/**
	 * @param mail the mail to set
	 */
	public void setMail(String mail) {
		this.mail = mail;
		
	}
	/**
	 * @return the mail
	 */
	public String getMail() {
		return mail;
	}
	/**
	 * @param dateDeNaissance the dateDeNaissance to set
	 */
	public void setDateDeNaissance(Date dateDeNaissance) {
		this.dateDeNaissance = dateDeNaissance;
		
	}
	/**
	 * @return the dateDeNaissance
	 */
	public Date getDateDeNaissance() {
		return dateDeNaissance;
	}
	
	public String getMotDePasse() {
		return motDePasse;
	}
	
	public void setMotDePasse(String motDePasse) {
		this.motDePasse = motDePasse;
		
	}

	/**
	 * @param identifiant the identifiant to set
	 */
	public void setIdentifiant(String identifiant) {
		this.identifiant = identifiant;
	}

	/**
	 * @return the identifiant
	 */
	public String getIdentifiant() {
		return identifiant;
	}

	/**
	 * @param identifiantAgence the identifiantAgence to set
	 */
	public void setIdentifiantAgence(String identifiantAgence) {
		this.identifiantAgence = identifiantAgence;
	}

	/**
	 * @return the identifiantAgence
	 */
	public String getIdentifiantAgence() {
		return identifiantAgence;
	}
	
}
